<?php

/**
 * ConsultaExpedienteForm
 *
 */
class ConsultaExpedienteForm extends ReclamoForm
{
  public function configureWidgets()
  {
    parent::configureWidgets();
    $criteria =  new Criteria();
    $criteria->add(ReclamoPeer::NRO_RECLAMO,null);

     $this->setWidget('legajo_cau', new pmWidgetFormPropelJQuerySearch(array('model' => 'reclamo',
         'key_method'=> 'getLegajoCau',
         'criteria'=> $criteria,
        'column' => array('legajo_cau'),
        'selected_label' => 'Busque por N° de legajo AU',
        'search_label' => 'Buscar')));

     $this->widgetSchema->setHelp('legajo_cau', 'Introduzca N°de legajo y haga click en buscar. Luego haga click en el tilde verde para seleccionar un resultado de la búsqueda.');
     $this->widgetSchema->setLabel('legajo_cau', 'Legajo AU por el cual reclama');

     $this->getValidatorSchema()->setPostValidator(new sfValidatorCallback(array('callback' => array($this, 'checkIngresoLegajoAU'))));
  }
  public function unsetFields()
  {
    // TODO ver Derivado a (seria Area)

    $this->useFields(array("id",
      "tipo_atencion_id",
      "sf_guard_user_id",
      "asunto_id",
      "legajo_cau",
      "observacion"));
  }

    protected function doSave($con = null)
  {
    $this->getObject()->generarNroReclamo();
    $this->getObject()->setEs0800(true);
    parent::doSave($con);
  }

  public function checkIngresoLegajoAU($validator, $values)
  {
    if (is_null($values['legajo_cau']))
    {
      $error = new sfValidatorError($validator, 'Debe seleccionar el legajo AU por el cual el cliente está haciendo el reclamo.');
      throw new sfValidatorErrorSchema($validator, array('legajo_cau' => $error));
    }

    return $values;
  }
}
